package com.zhl.utils.page;

import java.util.List;

public class PageUtil {
    public static <T> PageEntity<T> getPageEntity(PageEntity<T> pageEntity, Integer currPage, List<T> data, Integer totalCount) {
        Integer pageSize = pageEntity.getPageSize();
        Integer totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : (totalCount / pageSize) + 1;

        Integer size = pageEntity.getSize();
        Integer begin = currPage % size == 0 ? currPage - (size - 1) : currPage - (currPage % size) + 1;
        Integer end = begin + (size - 1);
        if (end > totalPage) {
            end = totalPage;
        }
        pageEntity.setData(data);
        pageEntity.setTotalPage(totalPage);
        pageEntity.setTotalCount(totalCount);
        pageEntity.setCurrPage(currPage);
        pageEntity.setBegin(begin);
        pageEntity.setEnd(end);
        return pageEntity;
    }
}
